package com.zhuojy.equity.mall.admin.common.entity.vo.salary;/**
 * @description: TODO
 * @author chen
 * @date 2024/4/6 9:45
 * @version 1.0
 */

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhuojy.equity.mall.admin.common.entity.bo.salary.LateChargeRulesBO;
import com.zhuojy.equity.mall.admin.common.entity.po.salary.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @description: 薪资回显
 * @author chen
 * @date 2024/4/6 9:45
 * @version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SalaryEchoVO implements Serializable {
    private static final long serialVersionUID = -500524324531533668L;

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 方案名称
     */
    private String schemeName;

    /**
     * 薪资周期 1:上上月 2:上月 3:本月 4:下月 5:下下月
     */
    private Integer salaryCycle;

    /**
     * 薪资周期的某一天  范围在 xxxx年x月01日至30日
     */
    private Integer salaryDays;

    /**
     * 税款周期 1:上上月 2:上月 3:本月 4:下月 5:下下月
     */
    private Integer taxPeriod;

    /**
     * 所属部门
     */
    private String deptId;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;

    /**
     * 创建人
     */
    private String createBy;

    /**计税规则*/
    private TaxCalculationRulesPO taxCalculationRulesPO;
    /**标准计薪规则表*/
    private StandardPayrollRulesPO standardPayrollRulesPO;
    /**病假扣款规则*/
    private SickLeaveRulesPO sickLeaveRulesPO;
    /**全勤奖发放规则表*/
    private RulesForTheDistributionOfAttendanceAwardsPO rulesForTheDistributionOfAttendanceAwardsPO;
    /**事假请假规则*/
    private PersonalLeaveRulesPO personalLeaveRulesPO;
    /**加班规则*/
    private OvertimeRulesPO overtimeRulesPO;
    /**迟到扣款规则*/
    private List<LateChargeRulesPO> lateChargeRulesPO;
    /**迟到早退规则*/
    private List<LateArrivalRulesPO> lateArrivalRulesPO;
    /**早退扣款规则表*/
    private List<EarlyRefundDeductionRulesPO> earlyRefundDeductionRulesPO;
    /**旷工扣款规则表*/
    private AbsenteeismDeductionRulesPO absenteeismDeductionRulesPO;
}
